home *** CD-ROM | disk | FTP | other *** search
- /* $Id: I3DEXPOS.H 1.5 1996/09/04 04:07:08 YannPC Exp $ */
- /*****************************************************************************\
- * *
- * I3DExPos.h - I3DExPostRenderer definition *
- * *
- * Copyright (c) 1995, Ray Dream, Inc. All rights reserved. *
- * *
- \*****************************************************************************/
-
- #ifndef __I3DEXPOS__
- #define __I3DEXPOS__
-
- #ifndef __I3DEX__
- #include "I3DEx.h"
- #endif
-
- #ifndef __I3DSHSCN__
- #include "I3DShScn.h"
- #endif
-
- #ifndef __I3DSHUTI__
- #include "I3DShUti.h"
- #endif
-
- //****** Globally Unique Ids *************************************************
-
- //DEFINE_GUID(IID_I3DExLightsource, 0xA930ED80L, 0x3A02, 0x101C, 0x88, 0x5F, 0x04, 0x02, 0x1C, 0x00, 0x70, 0x02);
- // {F62A58A0-F76D-11cf-9A2C-0020AF28193A}
- DEFINE_GUID(IID_I3DExPostRenderer, 0xf62a58a0L, 0xf76d, 0x11cf, 0x9a, 0x2c, 0x00, 0x20, 0xaf, 0x28, 0x19, 0x3a);
-
- /*****************************************************************************\
- * I3DExPostRenderer *
- * *
- * Post Renderers *
- * *
- \*****************************************************************************/
-
- //typedef void (*ForEachShadowBufferCallback)(BOOLEAN lightType, TRANSFORM3D* transform, NUM3D halfAngle, void* priv);
-
- #undef INTERFACE
- #define INTERFACE I3DExPostRenderer
-
- DECLARE_INTERFACE_(I3DExPostRenderer, I3DExDataExchanger) {
- // IUnknown methods
- STDMETHOD(QueryInterface) (THIS_ REFIID riid, LPVOID FAR* ppvObj) PURE;
- STDMETHOD_(ULONG, AddRef) (THIS) PURE;
- STDMETHOD_(ULONG, Release) (THIS) PURE;
-
- // I3DExtension methods
- STDMETHOD_(I3DExtension*, Clone) (THIS) PURE;
- STDMETHOD(ShellUtilitiesInit) (THIS_ IShUtilities* shellUtilities) PURE;
-
- // I3DExDataExchanger methods
- STDMETHOD_(ExtensionDataMap*, GetExtensionDataMap) (THIS) PURE;
- STDMETHOD_(void*, GetExtensionDataBuffer) (THIS) PURE;
- STDMETHOD(ExtensionDataChanged) (THIS) PURE;
- STDMETHOD(HandleEvent) (THIS_ ULONG sourceID) PURE;
- STDMETHOD_(short, GetResID) (THIS) PURE;
-
- // I3DExPostRenderer methods
- STDMETHOD_(void, Filter) (THIS_ I3DShScene* theScene,IShRasterOffscreen* theImage,IUnknown** theBuffers,
- IShGraphicDevice* gd, /*TExternalRenderer*/void* renderer, void* renderHelper) PURE;
- STDMETHOD_(void, GetBufferNeeds) (THIS_ long* needs, /*TExternalRenderer*/void* renderer) PURE;
- };
-
-
- #endif
-